#ifndef _SAMPLER_H_
#define _SAMPLER_H_

#include "../bitpointer/BitPointer.h"
#include "../device/Device.h"

/*
	class : Sampler
	desc : This provides an interface for 
		creating samplers of different types
		it makes life a easier for using samplers
		or figuring out signals that have require a 
		complex sampling method that can't be fixed
		by just by watching the edges of a signal.
*/
class Sampler : public Device
{
	protected:
		//the pointer to a bit that is being sampled
		BitPointer input;
	public:
		//samples the signal on the input bit
		virtual void sample()=0;
		//runs the sampler .
		virtual void run()=0;
}


#endif



